home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-rekhter-direct-provider-00.txt < prev    next >
Text File  |  1993-10-26  |  19KB  |  506 lines

  1.  
  2.                            - 1 -
  3.  
  4.  
  5.  
  6. Network Working Group                                      Y. Rekhter
  7. INTERNET DRAFT                  T.J. Watson Research Center, IBM Corp.
  8. <draft-rekhter-direct-provider-00.txt>                   October 1993
  9.  
  10.  
  11.                       Selecting a Direct Provider
  12.  
  13.  
  14. Status of this Memo
  15.  
  16.  
  17.    This document is an Internet Draft.  Internet Drafts are working
  18.    documents of the Internet Engineering Task Force (IETF), its Areas,
  19.    and its Working Groups.  Note that other groups may also distribute
  20.    working documents as Internet Drafts.
  21.  
  22.    Internet Drafts are draft documents valid for a maximum of six
  23.    months.  Internet Drafts may be updated, replaced, or obsoleted by
  24.    other documents at any time.  It is not appropriate to use Internet
  25.    Drafts as reference material or to cite them other than as a
  26.    ``working draft'' or ``work in progress.''
  27.  
  28.    Please check the 1id-abstracts.txt listing contained in the
  29.    internet-drafts Shadow Directories on nic.ddn.mil, nnsc.nsf.net,
  30.    nic.nordu.net, ftp.nisc.sri.com, or munnari.oz.au to learn the
  31.    current status of any Internet Draft.
  32.  
  33.  
  34.  
  35. 1 Introduction
  36.  
  37.  
  38.    Within the existing Internet routing architecture/protocols different
  39.    hosts within a domain (autonomous system) usually can't control the
  40.    choice of adjacent domains for forwarding of the inter-domain traffic
  41.    originated by the hosts. In this document we describe a simple
  42.    mechanism that provides hosts with such control. The proposed scheme
  43.    can be realised with the existing technology, off-the shelf
  44.    components, and minor tweaking of forwarding algorithm by border
  45.    routers. The scheme doesn't require any new routing protocols.
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56. Expiration Date April 1994                                      [Page 1]
  57.  
  58.                            - 2 -
  59.  
  60.  
  61.  
  62. 2 Background
  63.  
  64.  
  65.    The Internet is viewed as a set of arbitrary interconnected
  66.    Autonomous Systems (Domains). An autonomous system that carries
  67.    transit traffic is called a service provider (or just a provider). An
  68.    autonomous system that uses other autonomous system(s) to carry
  69.    locally originated traffic is called a service subscriber (or just a
  70.    subscriber). A provider that has an external neighbor (in the
  71.    BGP/IDRP sense) with one of the BGP/IDRP speakers within a subscriber
  72.    is called the direct provider (with respect to the subscriber).  All
  73.    other providers are called indirect (with respect to the subscriber).
  74.    Routers that participate in inter-domain routing are called Border
  75.    Routers or Border Intermediate Systems (BISs).
  76.  
  77.    Within the current Internet routing the choice of routes available to
  78.    a host within a subscriber is limited to the routes selected by the
  79.    BISs within the subscriber. Consequently, a route available from a
  80.    direct provider, but not selected by the BISs within the subscriber
  81.    can't be made available to a host within the subscriber.
  82.  
  83.    As an illustration of this limitation consider the following
  84.    topology:
  85.  
  86.  
  87.                   H1      B
  88.                    \     / \
  89.                     \   /   \
  90.                      \ /     \
  91.                       D       A
  92.                      / \      /
  93.                     /   \    /
  94.                    /     \  /
  95.                   /       \/
  96.                  H2      C
  97.  
  98.  
  99.    where A is a BIS that belong to domain RD-A, B is a BIS that belongs
  100.    to domain RD-B, C is a BIS that belongs to domain RD-C, and D is a
  101.    BIS that belongs to domain RD-D. H1 and H2 are two hosts in RD-D. D
  102.    has to select between B and C as the next hop domain (BIS) to
  103.    destinations in RD-A. Consequently, hosts within RD-D, H1 and H2,
  104.    would be bounded by the D's choices. If H1 would prefer to use route
  105.    to destinations in RD-A going through B, and H2 would prefer to use
  106.    route to destinations in RD-A going through C, then superficially one
  107.  
  108.  
  109.  
  110.  
  111.  
  112. Expiration Date April 1994                                      [Page 2]
  113.  
  114.                            - 3 -
  115.  
  116.  
  117.  
  118.    would conclude that such route selection can't be satisfied within
  119.    the current Internet routing. The following shows that such a
  120.    conclusion is incorrect.
  121.  
  122.  
  123.  
  124. 3 Solving the problem
  125.  
  126.  
  127.    The problem of removing the limit of choices imposed on hosts within
  128.    a subscriber by subscriber's BISs can be decomposed into three
  129.    orthogonal, but somewhat related subproblems:
  130.  
  131.  
  132.        - how a BIS within a subscriber that is connected to a particular
  133.          direct provider learns about routes offered by the provider
  134.  
  135.        - how a router within a subscriber discovers a BIS that is
  136.          connected to a particular direct provider - how to find a
  137.          correct exit BIS
  138.  
  139.        - how to ensure forwarding within the subscriber that is
  140.          consistent with the host's preference of the direct provider
  141.  
  142.    This document assumes that each provider has a globally unambiguous
  143.    identifier that can be used both for the purpose of distributing
  144.    routing information and for the purpose of packet forwarding.
  145.    Furthermore, the document assumes that the autonomous system number
  146.    (AS number) is used as such an identifier.
  147.  
  148.  
  149. 3.1 How a BIS discovers routes offered by a direct provider
  150.  
  151.  
  152.    With BGP/IDRP ([1], [2]) a BIS stores the routes received from an
  153.    external neighbor in the Adj-RIB-In (adjacency Routing Information
  154.    Base input) associated with the neighbor.  For each external neighbor
  155.    the BIS also knows the AS number of the provider the neighbor is in.
  156.    Therefore, for each direct provider that has an external neighbor
  157.    with a BIS, the BIS has sufficient information about the routes
  158.    offered by the provider, as well as the provider's identifier (AS
  159.    number).
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168. Expiration Date April 1994                                      [Page 3]
  169.  
  170.                            - 4 -
  171.  
  172.  
  173.  
  174. 3.2 How to find a correct exit BIS
  175.  
  176.  
  177.    A BIS that is connected to a particular provider needs to pass the
  178.    information about this connectivity to other BISs within its domain.
  179.    This is accomplished by generating and propagating (via BGP/IDRP) to
  180.    all of the BIS's internal neighbors (in BGP/IDRP sense) a route whose
  181.    AS-PATH (RD-PATH) path attribute contains only the AS number of the
  182.    provider and whose NLRI may be either empty or embeds the AS number.
  183.    The choice of empty NLRI is determined by a particular routing
  184.    protocol (whether the protocol allows to carry AS-PATH (RD-PATH), but
  185.    no NLRI).  Since this route is distributed to all the BISs within the
  186.    subscriber, any BIS within the subscriber can identify a BIS that has
  187.    an external neighbor within a particular direct provider.
  188.  
  189.    The situation is a bit more complex for routers within the subscriber
  190.    that are not BISs (they don't participate in BGP/IDRP). We suggest
  191.    two possible schemes.
  192.  
  193.       Option 1:
  194.  
  195.          The first option requires the BIS that has an external neighbor
  196.          with a particular provider to generate an intra-domain route to
  197.          a destination that unambiguously identifies the AS number of
  198.          the provider.  The Network Layer Reachability Information
  199.          (NLRI) of such a route can be constructed by by embedding the
  200.          AS number in an IP address.
  201.  
  202.       Option 2:
  203.  
  204.          The second option assumes that routers within a subscriber that
  205.          don't participate in BGP/IDRP have a default route pointing to
  206.          particular BISs (this default route may be either static or
  207.          dynamic). Such a route would result in forwarding a packet
  208.          whose destination is outside the subscriber to one of the BISs
  209.          within the subscriber. Once the packet reaches the BIS, the BIS
  210.          determines an appropriate exit BIS using information received
  211.          via BGP/IDRP.
  212.  
  213.  
  214.    To provide correct operations it is essential that there be a
  215.    consistent scheme for embedding AS numbers into IP addresses.  A
  216.    possible scheme for doing this is suggested in SDRP [3], where an AS
  217.    number is embedded in the lower two octets of the 128.0.0.0 IP
  218.    network number. For example, AS number 233 is encoded as 128.0.0.233.
  219.  
  220.  
  221.  
  222.  
  223.  
  224. Expiration Date April 1994                                      [Page 4]
  225.  
  226.                            - 5 -
  227.  
  228.  
  229.  
  230. 3.3 How to provide consistent forwarding
  231.  
  232.  
  233.    Providing forwarding that takes into account direct provider
  234.    preferences requires an additional mechanism. This is because routes
  235.    selected by BISs within a subscriber may not be consistent with the
  236.    preferences of a particular host within the subscriber. The mechanism
  237.    should be able to identify the host's preference for the purpose of
  238.    packet forwarding.
  239.  
  240.    In this document we assume that a packet may carry certain explicit
  241.    information that identifies a particular provider.  In general, this
  242.    information can be carried as either an IP option or via an
  243.    encapsulation.  This document assumes the use of encapsulation, such
  244.    as SDRP [3] or GRE [4].
  245.  
  246.    When a host originates a packet, and the host has a certain
  247.    preference with respect to a particular direct provider, the host
  248.    needs to indicate this preference.  The host can indicate it either
  249.    by itself or by relying on some proxy agent (e.g. first hop router).
  250.    To indicate the preference for a particular direct provider the
  251.    packet is encapsulated (by either the originating host, or by its
  252.    proxy agent) and the destination address in the outer header embeds
  253.    the AS number of the provider.
  254.  
  255.    If the information about direct providers is distributed via intra-
  256.    domain routing (Option 1 in Section 3.2), then the packet will be
  257.    forwarded via intra-domain routing procedures to the correct exit
  258.    BIS.  The exit BIS will use the destination address in the outer
  259.    header to determine the direct provider. The BIS then will
  260.    decapsulate the packet and will use the destination address in the
  261.    inner header of the packet to determine whether the Adj-RIB-In
  262.    associated with the provider has a route to the destination specified
  263.    in the original packet. If such a route exists, then the BIS will
  264.    forward the packet to the neighbor associated with the Adj-RIB-In.
  265.    Otherwise, the original packet will be forwarded using BIS's FIB
  266.    (using normal forwarding procedures). The BIS may generate an ICMP
  267.    Destination Unreachable message back to the entity that performed the
  268.    encapsulation ( either the host that originated the packet, or its
  269.    proxy agent) to indicate that the route through the provider desired
  270.    by the host is unavailable.
  271.  
  272.    If the information about direct providers is not distributed via
  273.    intra-domain routing (Option 2 in Section 3.2), then the packet will
  274.    be forwarded via a default route to one of the BISs within the
  275.  
  276.  
  277.  
  278.  
  279.  
  280. Expiration Date April 1994                                      [Page 5]
  281.  
  282.                            - 6 -
  283.  
  284.  
  285.  
  286.    subscriber.  If that BIS happen to be a correct exit BIS (the BIS
  287.    peers with an external neighbor, such that the neighbor belongs to
  288.    the provider indicated by the packet), then the BIS will operate as
  289.    described in the previous paragraph. Otherwise, the packet will be
  290.    encapsulated one more time with the destination address in the outer
  291.    header indicating the correct exit BIS. Once the packet reaches the
  292.    correct exit BIS, the outer header will be stripped and the remaining
  293.    processing will be performed precisely as described in the previous
  294.    paragraph.
  295.  
  296.    This document assumes that within a subscriber that offers support
  297.    for direct provider selection all the BISs trap packets whose
  298.    destination indicates embedded provider identifier (AS number) and
  299.    decapsulate these packets before forwarding them to external
  300.    neighbors.
  301.  
  302.    If a BIS receives a packet whose destination indicates embedded
  303.    provider identifier, and the BIS determines that the provider is not
  304.    a direct provider of the subscriber the BIS is in, the BIS should
  305.    generate an ICMP Destination Unreachable message to the entity that
  306.    performed the encapsulation (either the host that originated the
  307.    packet or some proxy agent acting on behalf of the host).  The entity
  308.    should use this message as an indication that the selected provider
  309.    is unavailable.
  310.  
  311.    A host  (or its proxy agent) is not required to maintain information
  312.    about all the direct providers of the subscriber the host is in. If a
  313.    host (or its proxy agent) specifies a provider that is not a direct
  314.    provider of the subscriber, then packets originated by the host (or
  315.    its proxy agent) will be forwarded based on the choices of the direct
  316.    provider made by the BISs within the subscriber.
  317.  
  318.    When a host (or its proxy agent) receives an ICMP Destination
  319.    Unreachable message indicating unavailability of the route through a
  320.    particular provider, the host (or its proxy agent) should either
  321.    change its selected provider or should stop using direct provider
  322.    selection mechanism altogether.
  323.  
  324.  
  325. 3.4 An example of operations
  326.  
  327.  
  328.    We illustrate how the proposed scheme operates using the topology
  329.    described in Section 2. Assume that D prefers routes through B to
  330.    destinations in A, but when connectivity to B fails or B doesn't have
  331.  
  332.  
  333.  
  334.  
  335.  
  336. Expiration Date April 1994                                      [Page 6]
  337.  
  338.                            - 7 -
  339.  
  340.  
  341.  
  342.    routes to destinations in A, D would switch to routes through C. The
  343.    routes selected by D are consistent with H1's choices for the direct
  344.    provider (use B as a primary, use C as a fallback), but are in
  345.    conflict with H2's choices for the direct provider (use C as a
  346.    primary, use B as a fallback). To satisfy H2's preferences for the
  347.    direct provider, H2 encapsulates its outgoing packets, such that the
  348.    destination address in the outer header embeds C's AS number.  When
  349.    such a packet reaches D, D uses the destination address to identify
  350.    the Adj-RIB-In associated with C, performs decapsulation, and then
  351.    checks whether the Adj-RIB-In has a route to the destination
  352.    specified in the inner header.  If such a route exists, then the
  353.    packet is forwarded to C.  Otherwise, the packet is forwarded using
  354.    D's FIB, which results in forwarding the packet to B.
  355.  
  356.    If the connectivity between C and A is present, then D will forward
  357.    the packets originated by H2 through C. When the connectivity is
  358.    disrupted the D's Adj-RIB-In that is associated with C will not have
  359.    a route to destinations in A, so D will forward the packets through
  360.    B. In this case D will generate an ICMP Destination Unreachable
  361.    message back to H2. H2 is expected to use this message as an
  362.    indication that route through the selected provider is unavailable.
  363.  
  364.    To illustrate how the proposed scheme operates when a host selects a
  365.    provider who is not a direct provider of the subscriber the host is
  366.    in, assume that H2 selects X as its direct provider.  In this case H2
  367.    will receive an ICMP Destination Unreachable message either from a
  368.    BIS or from some other router within the subscriber, and should use
  369.    this message as an indication that no route through the selected
  370.    provider (X) is available.
  371.  
  372.  
  373. 4 Multiple preferences
  374.  
  375.  
  376.    A host (or its proxy agent) may have preferences for more than one
  377.    direct provider. The list of such preferences may be either ordered
  378.    (first try direct provider X, if that is impossible then try direct
  379.    provider Y, etc...), or unordered (try a direct provider X, but if
  380.    not available pick at random another provider from the list).  The
  381.    proposed scheme doesn't allow to simultaneously specify multiple
  382.    choices for direct providers. That is, a packet contains identity of
  383.    only one preferred provider. The host (or its proxy agent) relies on
  384.    the ICMP Destination Unreachable messages to determine the
  385.    feasibility of using the direct provider selected by the host.
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392. Expiration Date April 1994                                      [Page 7]
  393.  
  394.                            - 8 -
  395.  
  396.  
  397.  
  398. 5 Limitations
  399.  
  400.  
  401.    The proposed scheme supports only a "soft" selection. That is, if a
  402.    route through a selected provider isn't available, or the selected
  403.    provider is not a direct provider of the subscriber the host is in,
  404.    the subscriber will use its selected direct provider.
  405.  
  406.    This proposal doesn't distinguish between the case where a host
  407.    selects a provider who is not a direct provider of the subscriber the
  408.    host is in, and the case where a host selects a direct provider, but
  409.    there is no route through that provider.
  410.  
  411.    While the proposed solution may be suitable to solve other problems,
  412.    such a discussion is outside the scope of this document.
  413.    Specifically, suitability of the proposed solution to an arbitrary
  414.    policy-based routing problem (a.k.a. "arbitrary internet" (AI)
  415.    problem) is outside the scope of this document.
  416.  
  417.  
  418. 6 Conclusions
  419.  
  420.  
  421.    This document describes how the existing routing protocols combined
  422.    with encapsulation and minor changes to forwarding algorithm can be
  423.    used to solve the problem of direct provider selection.  It provides
  424.    the same dynamic rerouting capabilities as available with the
  425.    existing routing architecture/protocols.  The scheme doesn't require
  426.    introduction of any new routing protocols and/or new network layer
  427.    protocol - it is based pretty much on existing off-the-shelf
  428.    components.
  429.  
  430.    The functionality provided by the scheme described in the document is
  431.    quite similar to the "long-distance" provider selection available in
  432.    today's telephony, where a caller (host) can either use the long-
  433.    distance carrier (direct provider) selected by the RBOC the caller is
  434.    attached to, or may explicitly indicate its preference for a
  435.    particular long long-distance carrier.  The scheme may be used in
  436.    similar circumstances to enable "long-distance" provider selection
  437.    functionality in the Internet.
  438.  
  439.    While the scheme is described in terms of IP, it can be directly
  440.    applicable to other existing connectionless network layer protocols,
  441.    like CLNP.
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448. Expiration Date April 1994                                      [Page 8]
  449.  
  450.                            - 9 -
  451.  
  452.  
  453.  
  454. 6 Acknowledgements
  455.  
  456.  
  457.    This proposal was largely stimulated by discussions with Robert
  458.    Brenner (GTE) and Peter Ford (LANL).
  459.  
  460.    The author would like to express his deep thanks and appreciation to
  461.    Susan Hares (MERIT), Tony Li (cisco Systems), and Jessica Yu (MERIT)
  462.    for their review and constructive comments.
  463.  
  464.  
  465. References
  466.  
  467.    [1] Rekhter, Y., Li, T., `A Border Gateway Protocol 4 (BGP-4)',
  468.    Internet Draft, April 1993
  469.  
  470.    [2] Hares, S., `IDRP for IP', Internet Draft, March 1993
  471.  
  472.    [3] Estrin, D., Zappala, D., Li, T., Rekhter, Y., "Source Demand
  473.    Routing: Packet Format and Forwarding Specification (Version 1)"
  474.    Internet Draft, September 1993
  475.  
  476.    [4] Hanks, S., Li, T., Farinacci, D., Traina, P., "Generic Routing
  477.    Encapsulation (GRE)", Internet Draft, September 1993
  478.  
  479.  
  480. Security Considerations
  481.  
  482.    Security issues are not discussed in this memo.
  483.  
  484.  
  485. Author's Addresses
  486.  
  487.    Yakov Rekhter
  488.    T.J. Watson Research Center IBM Corporation
  489.    P.O. Box 218
  490.    Yorktown Heights, NY 10598
  491.    Phone:  (914) 945-3896
  492.    email:  yakov@watson.ibm.com
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504. Expiration Date April 1994                                      [Page 9]
  505.  
  506.